#ifndef FUNCTABLE_H
#define FUNCTABLE_H

class FuncTable {
public:
	typedef struct {
		string _name;
		int    _index;
		int    _entryPoint;
		int    _paramCount;
		int    _localDataSize;
	} FuncNode;

public:
	int    add(const string &name, int entryPoint);
	int    find(const string &name);
	int    getlocalDataSize(int index);
	int    getEntryPoint(int index);
    int    getParamCount(int index);
	int    set(const string &name, int paramCount, int localDataSize);
	void   dump();

	void   writeFile(FILE *fp);
	int    readFile(FILE *fp);

private:
	vector<FuncNode> _vf;
};


#endif
